package com.distribute.pojo.workflow;

import com.distribute.pojo.Task.TaskDefinition;
import com.distribute.pojo.enums.ReleaseState;

import java.util.List;

public class WorkflowStruct {
    /**
     * 工作流所属项目
     */
    private String projectName;

    private String projectDescription;

    private String workflowName;

    private String workflowDescription;

    private WorkflowExecutionTypeEnum workflowExecutionType;

    private Object globalParams;

    private Integer timeout;

    private ReleaseState releaseState;

    private List<? extends TaskDefinition> taskStructs;

    public WorkflowStruct() {
    }

    public WorkflowStruct(String projectName, String projectDescription, String workflowName,
                          String workflowDescription, WorkflowExecutionTypeEnum workflowExecutionType,
                          Object globalParams, Integer timeout, ReleaseState releaseState, List<TaskDefinition> taskStructs) {
        this.projectName = projectName;
        this.projectDescription = projectDescription;
        this.workflowName = workflowName;
        this.workflowDescription = workflowDescription;
        this.workflowExecutionType = workflowExecutionType;
        this.globalParams = globalParams;
        this.timeout = timeout;
        this.releaseState = releaseState;
        this.taskStructs = taskStructs;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getProjectDescription() {
        return projectDescription;
    }

    public void setProjectDescription(String projectDescription) {
        this.projectDescription = projectDescription;
    }

    public String getWorkflowName() {
        return workflowName;
    }

    public void setWorkflowName(String workflowName) {
        this.workflowName = workflowName;
    }

    public String getWorkflowDescription() {
        return workflowDescription;
    }

    public void setWorkflowDescription(String workflowDescription) {
        this.workflowDescription = workflowDescription;
    }


    public WorkflowExecutionTypeEnum getWorkflowExecutionType() {
        return workflowExecutionType;
    }

    public void setWorkflowExecutionType(WorkflowExecutionTypeEnum workflowExecutionType) {
        this.workflowExecutionType = workflowExecutionType;
    }

    public Object getGlobalParams() {
        return globalParams;
    }

    public void setGlobalParams(Object globalParams) {
        this.globalParams = globalParams;
    }

    public Integer getTimeout() {
        return timeout;
    }

    public void setTimeout(Integer timeout) {
        this.timeout = timeout;
    }

    public ReleaseState getReleaseState() {
        return releaseState;
    }

    public void setReleaseState(ReleaseState releaseState) {
        this.releaseState = releaseState;
    }

    public List<? extends TaskDefinition> getTaskStructs() {
        return taskStructs;
    }

    public void setTaskStructs(List<TaskDefinition> taskStructs) {
        this.taskStructs = taskStructs;
    }


}
